package com.chen.q2;

import com.chen.q2.fibo.FiboAdderRunnable;

/**
 *synchronized加锁方式，wait/notify
 */
public class Approach03 {
    public static void main(String[] args) {
        long start=System.currentTimeMillis();

        Object lock = new Object();

        // 在这里创建一个线程或线程池，
        // 异步执行 下面方法
        FiboAdderRunnable fiboAdder = new FiboAdderRunnable(36,lock);
        Thread thread = new Thread(fiboAdder);
        thread.start();
        synchronized (lock){
            try {
                lock.wait();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            int result = fiboAdder.getResult();
            // 确保  拿到result 并输出
            System.out.println("异步计算结果为："+result);

            System.out.println("使用时间："+ (System.currentTimeMillis()-start) + " ms");
        }

    }
}
